What is gatsby-telemetry?
The gatsby-telemetry package is used to collect anonymous usage analytics for Gatsby projects. It helps the Gatsby team understand how developers use Gatsby and improve the framework based on this data.
What are gatsby-telemetry's main functionalities?
Enable Telemetry
This feature allows you to enable telemetry tracking for specific CLI commands. The `trackCli` function is used to log the usage of a particular command.
const telemetry = require('gatsby-telemetry');
telemetry.trackCli('CLI_COMMAND_NAME');
Disable Telemetry
This feature allows you to disable telemetry tracking. The `disable` function stops the collection of usage data.
const telemetry = require('gatsby-telemetry');
telemetry.disable();
Track Event
This feature allows you to track custom events. The `track` function logs an event with a specified name and additional data.
const telemetry = require('gatsby-telemetry');
telemetry.track('EVENT_NAME', { key: 'value' });
Other packages similar to gatsby-telemetry
analytics-node
The analytics-node package is a client for Segment's analytics API. It allows you to track events and user actions in your application. Compared to gatsby-telemetry, analytics-node is more general-purpose and can be used with any application, not just Gatsby.
amplitude-js
The amplitude-js package is a JavaScript client for Amplitude's analytics platform. It provides similar functionality to gatsby-telemetry but is designed to work with Amplitude's analytics service, offering more advanced features and integrations.
mixpanel
The mixpanel package is a client for Mixpanel's analytics service. It allows you to track events, user actions, and more. Like gatsby-telemetry, it helps you understand user behavior, but it is part of the broader Mixpanel analytics ecosystem.
gatsby-telemetry
Check out gatsby.dev/telemetry for more information.
API
captureEvent(type, tags)
Capture an event of type type
and decorate the generated event with these tags (note: allowed tags are filtered on server side)
trackCli(type, tags)
This one does the same thing as the captureEvent
function described above.
Capture an event of type type
and decorate the generated event with these tags (note: allowed tags are filtered on server side)
trackError(type, tags)
Capture an error of type type
. The exception maybe passed in tags and it will be sanitized to anonymize the contents.
trackBuildError(type, tags)
Capture an build error of type type
. The exception maybe passed in tags and it will be sanitize to anonymize the contents.
setDefaultTags(tags)
Set additional tags to be included in all future events.
decorateEvent(type, tags)
Attach additional tags to the next event generated of type type
.
setTelemetryEnabled(enabled)
Enable or disable the telemetry collection.
expressMiddleware(type)
Returns a debounced events tracker for collecting general activity information for incoming requests.
ENV Variables
- Set
GATSBY_TELEMETRY_DEBUG
to 1
to print the telemetry data instead of sending it over - Set
GATSBY_TELEMETRY_DISABLED
to 1
to opt out of all telemetry - Set
GATSBY_TELEMETRY_VERBOSE
to 1
to log all telemetry